package queue

import "context"

// 使用context控制超时的理由：
// 1. context天然支持，而且能够做到级联控制
// 2. context本身承载链路原数据，必不可少
type Queue[T any] interface {
	EnQueue(ctx context.Context, data T) error
	DeQueue(ctx context.Context) (T, error)
	Len() uint64
	IsEmpty() bool
	IsFull() bool
}
